mod path_planner;
mod museum_system;

use museum_system::{MuseumSystem, Theme};

fn main() {
    println!("高速路径规划与高效实时检索协同系统");
    println!("=====================================");
    
    // 创建博物馆系统实例
    let mut system = MuseumSystem::new();
    
    // 运行系统演示（包含所有步骤）
    system.run_demo();

    // -------------------------------
    // 下面是具体场景的代码实例
    // -------------------------------

    // 假设用户在(3,5)位置，时间槽为2，兴趣主题为"革命人物"
    let user_grid = (3, 5);
    let user_time_slot = 2;
    let user_theme = Theme::RevolutionaryFigures;

    // 1. 展馆检索：查找满足条件的展馆
    let candidates = system.search_museums(user_grid, user_time_slot, &user_theme);

    // 2. 路径规划：假设用户当前在V1（湖北省博物馆），目标为V5（英雄事迹馆）
    let start_id = "V1";
    let goal_id = "V5";
    let path = system.plan_optimal_path(start_id, goal_id);

    // 3. 缓存路径
    if !path.is_empty() {
        system.cache_path(&format!("{}->{}", start_id, goal_id), path.clone());
    }

    // 4. 用户行为模拟（可选）
    // 假设用户在V1停留150秒，点击5次；在V2停留200秒，点击3次
    system.initialize_user_behavior("userA");
    system.adjust_user_interest_weights("userA");

    // 5. 设备状态检查与任务分配
    system.check_device_status_and_allocate_tasks();

    println!("\n【具体场景演示完成】");
} 